Quickbook API icon

Quickbook API

(0 reviews)

Dev guides

Building the locations array


locations can either be an ā€œAddressā€ or an ā€œAirportā€ as specified by the ā€œsourceā€ field. Either way, they always need to contain lat/long coordinates in addition to the address information.

1. Address
"locations": [
  {
    "source": "Address",
    "street_address": "Barbican Centre, 10 Silk St",
    "town": "London",
    "postcode": "EC2Y 8DS",
    "country": "GB",
    "lat": 51.520024,
    "long": -0.092447,
    "notes": "Wait before the car park and taxis entrance",
    "contact": {
      "name": "John Doe",
      "mobile": "07123456789",
      "email": "john.doe@example.com"
    }
  },
  ...
]
  • street_address is used for all the part of the address that isnā€™t the Town, Postcode, or Country
  • The full address will be built from these parts as follows: street_address + town + postcode + country
    • So the above example will become: Barbican Centre, 10 Silk St, London, EC2Y 8DS, GB
ParametersDescriptionRequired?
locations.street_addressAny part of the address thatā€™s not town, postcode or country, for example: place name, building number and street nameYes
locations.townTown/city nameYes
locations.postcodePostal code/zip codeYes
locations.countryCountry code ISO 3166-1 alpha-2Yes
locations.latLatitudeYes
locations.longLongitudeYes
locations.sourceAddressYes
locations.notesLocation notes to be used by the driverNo
locations.contactThe contact responsible for receiving the parcel. Courier booking only.No
locations.contact.nameContact nameYes
locations.contact.mobileMobile phone numberYes
locations.contact.emailEmail addressYes
2. Airport
{
      "source": "Airport",
      "street_address": "London Heathrow Airport",
      "lat": 51.47138888,
      "long": -0.45277777,
      "airport": {
        "iata": "LHR",
        "terminal": "2",
        "flight_number": "BA714"
        "arrival_from": "LAX"
      }
}
  • Use Airport as the value for the source element
  • Use this for airport locations
  • When doing pre-book airport pickups, this information should be used in conjunction with a flight number
ParametersDescriptionRequired?
locations.street_addressHuman-readable name for airportYes
locations.latLatitudeYes
locations.longLongitudeYes
locations.sourceAirportYes
locations.airport.iataAirport IATA codeYes
locations.airport.terminalAirport terminalNo (2)
locations.airport.flight_numberFlight numberNo (1)
locations.aiport.arrival_fromCity flight is arriving fromNo (3)
locations.notesLocation notes to be used by the driverNo

(1) flight_number: while not mandatory, it is highly recommended that you provide it if possible, as it allows our systems to get terminal/arrival_from informational automatically, plus allows us to track flights and adjust pickup times accordingly.

(2) terminal: while technically an optional field, it should be considered mandatory for airports with multiple terminals. (or as noted above, you can provide the flight number and we can look up the terminal information)

(3) arrival_from: some terminals have very different collection points depending on whether the flight is international or domestic, so knowing where the flight is coming from is very useful. (or even better, as noted above, just provide the flight number, and we can look up the details for you).

Legacy Addresses

In the past instead of street_address, a combination of address and name was used to form street addresses. This led to much confusion as the address field was discarded, and name required the full street address, not just a building name: which resulting in many malformed addresses missing important information.

Support for the legacy format is retained for partners already using it, but all new integrations should use the new format, and we advise existing partners to move to the new format to improve your code maintainability.

Pre-Booking vs ASAP


Generally, it's clear that if you want to make a booking for next week, you use a pre-book (providing pickupdt in the price quote/booking), and if you want the pickup as soon as possible, it's an ASAP (where you don't provide pickup_dt in the price quote/booking.

Things are more complicated when you want to make a pre-booking for a time shortly in the future, say in an hour's time. The strict rule here is that you can only make pre-bookings for beyond the earliest ASAP pickup, which you determine using /quote/time/.

If you try to make a pre-book for an earlier time than the earliest available pre-book, the booking will automatically be converted into an ASAP booking.

Date Time Handling


Date and time should be posted using the following ISO-8601 format.

YYYY-MM-DDThh:mm:ss:+hh:mm

Example: 2016-06-06T12:00:00+01:

Example: 2016-06-06T12:00:00+01:00

Date and time should be posted in LOCAL time.

You can post either with or without determinate the offset.

Dates and times will NOT be converted to timezones and offsets are currently not validated.

Passenger and courier service types


Depending on the commercial contract you have with us, some services will not be available on your account(s).

For passenger bookings, the available services are:

ServiceDescriptionPassengersLuggageCode
SelectEveryday choice and comfort - professional driver and medium car for up to 4 people42standard_car
Select+Everyday choice and comfort - professional driver and MPV/people carrier for up to 5 people52large_car
ExecutiveExecutive chauffeur and Mercedes E-Class or similar for up to 3 people32exec_car
Local PartnerEveryday choice and comfort - professional driver and medium car for up to 4 people42local_partner
Local Partner+Everyday choice and comfort - professional driver and MPV/people carrier for up to 5 people52local_partner_plus

For courier bookings, example services are:

ServiceDescriptionSizeWeightCode
Push BikePeople powered delivery for small itemsA4 EnvelopeUp to 3 Kgbicycle_courier
Bike DeliveryCuts through city trafficA4 BoxUp to 5 kgmotorcycle_courier
ParcelFor items that will fit in a car bootLarge SuitcaseUp to 20 kgparcel_car
Small VanIdeal for big and bulky items1.7m x 1.5m x 1.2mUp to 700 kgsmall_van
Transit VanPerfect for moving large items2.5m x 1.7m x 1.4mUp to 800 kglarge_van
Direct Bike DeliveryCuts through city trafficA4 BoxUp to 5 kgdirect_motorcycle_courier
Direct Transit VanPerfect for moving large items2.5m x 1.7m x 1.4mUp to 800 kgdirect_large_van

Multi-account


Some partners can have more than one account which means one main account and multiple linked-accounts (multi-account).

To create a booking using the multi-account option:

  • The Authorization header (AL client_id:client_secret) should belong to the main account
  • The payment_method should be MultiAccount
  • The account.number should contain the number of the account to be booked on
{
  "payment_method" : "MultiAccount",
  "account" : {
    "number" : "123456"
  },
  "locations" : [{
  "address" : "35-37 William Road",
  ...
}

Reviews